package org.link.util;

import java.io.IOException;
import java.io.InputStream;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

/**
 * 
 * project_name:springdemo2
 * package_name:org.link.util
 * file_name:MyBatisUtil.java
 * @author Link
 * create_date:2015年11月13日 下午5:13:00
 * modified_date:
 * description: myBatis数据库连接工具类
 *
 */
public class MyBatisUtil {

	/**
	 * 
	 * description:获取SqlSession工厂类
	 * 2015年11月13日 下午5:14:06
	 * @author Link
	 * @return
	 *
	 */
	public static SqlSessionFactory getSqlSessionFactory(){
		SqlSessionFactory sqlSessionFactory = null;
		try {
			InputStream input = Resources.getResourceAsStream("mybatis-config.xml");
			sqlSessionFactory = new SqlSessionFactoryBuilder().build(input);
		} catch (IOException e) {
			e.printStackTrace();
		}
		return sqlSessionFactory;
	}
	
	/**
	 * 
	 * description:获取sqlSession不含自动提交功能
	 * 2015年11月13日 下午5:16:44
	 * @author Link
	 * @return
	 *
	 */
	public static SqlSession getSqlSession(){
		return getSqlSessionFactory().openSession();
	}
	
	/**
	 * 
	 * description:获取sqlSession含自动提交功能
	 * 2015年11月13日 下午5:18:09
	 * @author Link
	 * @param autoCommit
	 * @return
	 *
	 */
	public static SqlSession getSqlSession(boolean autoCommit){
		return getSqlSessionFactory().openSession(autoCommit);
	}
}
